package com.warmheart.builder.operation;

import com.warmheart.core.rs.base.BaseRsBuilder;
import com.warmheart.core.rs.oper.Rs;
import com.warmheart.entity.operation.OperationLog;

/**
 * 
 * @ClassName: OperationLog
 * @Description: 操作记录实体RsBuilder类，对应表名称为tb_operation_log
 *               温馨提示：不要修改该实体RsBuilder类的任何字段
 * @author ZhangJianyang
 * @date 2025年06月20日 下午14:00:55
 *
 */
public class OperationLogRsBuilder extends BaseRsBuilder<OperationLog, OperationLogRsBuilder> {

    private final OperationLog t;

    @Override
    protected OperationLogRsBuilder self() {
        return this;
    }

    @Override
    public OperationLog core() {
        return this.t;
    }

    public OperationLogRsBuilder(OperationLog operationLog) {
        t = operationLog;
    }

    /**
     * 用户id
     */
    private Rs<OperationLog, OperationLogRsBuilder> userId;

    /**
     * 用户名
     */
    private Rs<OperationLog, OperationLogRsBuilder> name;

    /**
     * ip地址
     */
    private Rs<OperationLog, OperationLogRsBuilder> ipAddress;

    /**
     * 操作描述
     */
    private Rs<OperationLog, OperationLogRsBuilder> operationDesc;

    /**
     * 请求url
     */
    private Rs<OperationLog, OperationLogRsBuilder> requestUri;

    /**
     * 请求方法名
     */
    private Rs<OperationLog, OperationLogRsBuilder> requestMethod;

    /**
     * 入参
     */
    private Rs<OperationLog, OperationLogRsBuilder> paramInput;

    /**
     * 出参
     */
    private Rs<OperationLog, OperationLogRsBuilder> paramOutput;

    /**
     * 操作状态（01成功02失败）
     */
    private Rs<OperationLog, OperationLogRsBuilder> status;

    public Rs<OperationLog, OperationLogRsBuilder> userId() {
        if (this.userId == null) {
            this.userId = new Rs<OperationLog, OperationLogRsBuilder>(self(), "user_id", "userId");
        }
        return this.userId;
    }

    public Rs<OperationLog, OperationLogRsBuilder> name() {
        if (this.name == null) {
            this.name = new Rs<OperationLog, OperationLogRsBuilder>(self(), "name", "name");
        }
        return this.name;
    }

    public Rs<OperationLog, OperationLogRsBuilder> ipAddress() {
        if (this.ipAddress == null) {
            this.ipAddress = new Rs<OperationLog, OperationLogRsBuilder>(self(), "ip_address", "ipAddress");
        }
        return this.ipAddress;
    }

    public Rs<OperationLog, OperationLogRsBuilder> operationDesc() {
        if (this.operationDesc == null) {
            this.operationDesc = new Rs<OperationLog, OperationLogRsBuilder>(self(), "operation_desc", "operationDesc");
        }
        return this.operationDesc;
    }

    public Rs<OperationLog, OperationLogRsBuilder> requestUri() {
        if (this.requestUri == null) {
            this.requestUri = new Rs<OperationLog, OperationLogRsBuilder>(self(), "request_uri", "requestUri");
        }
        return this.requestUri;
    }

    public Rs<OperationLog, OperationLogRsBuilder> requestMethod() {
        if (this.requestMethod == null) {
            this.requestMethod = new Rs<OperationLog, OperationLogRsBuilder>(self(), "request_method", "requestMethod");
        }
        return this.requestMethod;
    }

    public Rs<OperationLog, OperationLogRsBuilder> paramInput() {
        if (this.paramInput == null) {
            this.paramInput = new Rs<OperationLog, OperationLogRsBuilder>(self(), "param_input", "paramInput");
        }
        return this.paramInput;
    }

    public Rs<OperationLog, OperationLogRsBuilder> paramOutput() {
        if (this.paramOutput == null) {
            this.paramOutput = new Rs<OperationLog, OperationLogRsBuilder>(self(), "param_output", "paramOutput");
        }
        return this.paramOutput;
    }

    public Rs<OperationLog, OperationLogRsBuilder> status() {
        if (this.status == null) {
            this.status = new Rs<OperationLog, OperationLogRsBuilder>(self(), "status", "status");
        }
        return this.status;
    }
}